#ifndef SOCKET_UTILS_H
#define SOCKET_UTILS_H

/////////////////////////////////////////////////////////////////////////////
//                           Headers                                       //
/////////////////////////////////////////////////////////////////////////////

#include "common.h"

# ifdef __cplusplus
extern "C" {
# endif

/* enumeration of socket options */
enum SOCKET_OPTION {
	SOCKET_ON_RECEIVE = 0,
	SOCKET_ON_CONNECT,
	SOCKET_ON_DISCONNECT
};
/////////////////////////////////////////////////////////////////////////////
//                      Data Structure Declarations                        //
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////
//                   Public Interface Declarations                         //
/////////////////////////////////////////////////////////////////////////////

int SocketServer_init(int port);
int SocketServer_putSendQueue(const char* profile_name, const char* data);
void SocketServer_config(enum SOCKET_OPTION option, const void* parameter);
void SocketServer_dispose();
# ifdef __cplusplus
}
# endif

#endif // SOCKET_UTILS_H
